package com.yami.shop.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.dto.FinanceDetailsDto;
import com.yami.shop.bean.dto.RevenueOverviewDto;
import com.yami.shop.bean.model.OrderItem;
import com.yami.shop.bean.param.FinanceDetailsParam;
import com.yami.shop.bean.param.RevenueOverviewParam;
import com.yami.shop.common.util.PageParam;

import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;

/**
 * 财务管理—营收概况
 *
 * @author SJL
 * @date 2020-08-17
 */
public interface RevenueOverviewService extends IService<OrderItem> {


    /**
     * 获取指定商家id和日期的收入金额和退款金额
     * @param revenueOverviewParam 查询参数
     * @return 定商家id和日期的收入金额和退款金额
     * @throws ParseException 解析异常
     */
    RevenueOverviewDto getData(RevenueOverviewParam revenueOverviewParam) throws ParseException;

    /**
     * 条件参数，分页获取财务明细
     * @param page 分页参数
     * @param param 条件查询参数
     * @return 财务明细
     */
    IPage<FinanceDetailsDto> getPageDetail(PageParam<FinanceDetailsDto> page, FinanceDetailsParam param);

    /**
     * 导出报表-返回符合的数据，不分页
     * @param param 条件参数
     * @return 财务明细列表
     */
    void excelFianceDetail(FinanceDetailsParam param, HttpServletResponse response);
}
